#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <assert.h>
#include <ctype.h>
#include<stdbool.h>
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	char a = 'A';
//	int b, c;
//	b = n / 500;
//	c = n % 500;
//	if (c == 0)
//	{
//		b--;
//		c = 500;
//	}
//	if (c < 10)
//	{
//		printf("%c00%d", a + b, c);
//	}
//	else if (c < 100)
//	{
//		printf("%c0%d", a + b, c);
//	}
//	else
//	{
//		printf("%c%d", a + b, c);
//	}
//	return 0;
//}
int main()
{
	long n, i;
	scanf("%ld", &n);
	char a[n];
	long b, c, d = 0, e;
	b = c = 0;
	for (i = 0; i < n; i++)
	{
		scanf("%c", &a[i]);
		if (a[i] == '1')
		{
			b++;
		}
		else
		{
			c++;
		}
		if (c > b && d==0)
		{
			d = 1;
			b++;
			c--;
			e = i + 1;
			continue;
		}
		if (c > b)
		{
			printf("0");
			return 0;
		}
	}
	if (d == 0)
	{
		printf("%d", n);
	}
	else
	{
		if (a[0] == '0')
		{
			printf("%d", 1);
		}
		else
		{
			printf("%d", n - e);
		}
	}
	return 0;
}
int main()
{
	long n, i;
	scanf("%ld", &n);
	char a[n + 1];
	long b, c, d = 0, e;
	b = c = 0;
	scanf("%s", a);
	for (i = 0; i < n; i++)
	{
		if (a[i] == '1')
		{
			b++;
		}
		else
		{
			c++;
		}
		if (c > b && d == 0)
		{
			d = 1;
			b++;
			e = c;
			c--;
			continue;
		}
		if (c > b)
		{
			printf("0");
			return 0;
		}
	}
	if (d == 0)
	{
		printf("%d", n);
	}
	else
	{
		printf("%d", e);
	}
	return 0;
}